// import {messages} from "share/common";
// import React from 'react'
// import { connect } from 'react-redux'
// import { Form, Input, Switch, Button, Icon, Select, message, Spin, Tooltip, Radio } from 'antd'
// const FormItem = Form.Item;
// const Option = Select.Option;
// const RadioGroup = Radio.Group;
// import config from 'config'
// import httpFetch from 'share/httpFetch'
//
// import contractService from 'containers/receipt-type-setting/contract-type-define/contract-type-define.service'
// import SelectEmployeeGroup from 'components/template/select-employee-group'
// import 'styles/receipt-type-setting/contract-type-define/new-contract-type.scss'
//
// class NewContractType extends React.Component{
//   constructor(props){
//     super(props);
//     this.state = {
//       loading: false,
//       fetching: false,
//       isEnabled: true,
//       setOfBooksOptions: [],
//       contractCategory: [],
//       data: {},
//       formTypeOptions: [],
//       radioValue: 'all',
//       showSelectEmployeeGroup: false,
//       chosenEmployeeIDs: [],
//       editTag: false,
//     }
//   }
//
//   componentWillMount() {
//     if(this.props.main.tenantMode) { //集团模式
//       httpFetch.get(`${config.baseUrl}/api/setOfBooks/by/tenant?roleType=TENANT`).then((res) => { //账套
//         this.setState({
//           setOfBooksOptions: res.data
//         })
//       })
//     } else { //公司模式
//       httpFetch.get(`${config.baseUrl}/api/setOfBooks/query/dto`).then((res) => { //账套
//         this.setState({
//           setOfBooksOptions: res.data
//         })
//       });
//     }
//     this.getSystemValueList(2202).then(res => { //合同大类
//       let contractCategory = res.data.values;
//       this.setState({ contractCategory })
//     });
//     this.getFormType()
//   }
//
//   componentWillReceiveProps(nextProps) {
//     if(!nextProps.params.editFlag) {
//       nextProps.params.editFlag = true;
//       if(nextProps.params.record) { //编辑
//         this.setState({ data: nextProps.params.record });
//         let values = this.props.form.getFieldsValue();
//         for(let name in values){
//           let result = {};
//           result[name] = nextProps.params.record[name];
//           this.props.form.setFieldsValue(result)
//         }
//       } else if (!nextProps.params.record) { //新建
//         this.setState({ data: {} });
//         this.props.form.resetFields();
//         this.props.form.setFieldsValue({ isEnabled: true })
//       }
//     }
//   }
//
//   //获取关联表单类型
//   getFormType = () => {
//     if(this.state.formTypeOptions.length) return;
//     this.setState({ fetching: true });
//     httpFetch.get(`${config.baseUrl}/api/custom/forms/company/my/available/all?formType=106`).then(res => {
//       this.setState({ formTypeOptions: res.data, fetching: false })
//     })
//   };
//
//   //状态改变
//   switchChange = (status) => {
//     this.setState({ isEnabled: status })
//   };
//
//   //修改适用人员
//   onRadioChange = (e) => {
//     this.setState({ radioValue: e.target.value })
//   };
//
//   handleShowModal = () => {
//     this.refs.chooserBlur.focus();
//     this.setState({
//       showSelectEmployeeGroup: this.state.radioValue === 'byGroup'
//     })
//   };
//
//   handleSelectEmployeeCancel = () => {
//     this.setState({ showSelectEmployeeGroup: false })
//   };
//
//   handleSelectEmployeeOk = (values) => {
//     let IDs = [];
//     values.checkedKeys.map(item => {
//       IDs.push(item.value)
//     });
//     this.setState({ chosenEmployeeIDs: IDs });
//     this.handleSelectEmployeeCancel()
//   };
//
//   //新建保存
//   handleSave = (e) => {
//     e.preventDefault();
//     this.props.form.validateFieldsAndScroll((err, values) => {
//       if (!err) {
//         values.isEnabled = this.state.isEnabled;
//         this.state.formTypeOptions.map(item => {
//           if(item.formOID === values.formOid) {
//             values.formName = item.formName;
//             values.formType = item.formType
//           }
//         });
//         let params = [];
//         params.push(values);
//         this.setState({ loading: true });
//         contractService.newContractType(values.setOfBooksId, params).then(res => {
//           if (res.status === 200) {
//             this.setState({ loading: false });
//             message.success('保存成功');
//             this.props.close(true)
//           }
//         }).catch(e => {
//           this.setState({ loading: false });
//           message.error(`保存失败，${e.response.data.message}`)
//         })
//       }
//     })
//   };
//
//   //更新保存
//   handleUpdate = (e) => {
//     e.preventDefault();
//     this.props.form.validateFieldsAndScroll((err, values) => {
//       if (!err) {
//         values.isEnabled = this.state.isEnabled;
//         values.id = this.state.data.id;
//         values.versionNumber = this.state.data.versionNumber;
//         this.state.formTypeOptions.map(item => {
//           if(item.formOID === values.formOid) {
//             values.formName = item.formName;
//             values.formType = item.formType
//           }
//         });
//         let params = [];
//         params.push(values);
//         this.setState({ loading: true });
//         contractService.updateContractType(values.setOfBooksId, params).then(res => {
//           if (res.status === 200) {
//             this.setState({ loading: false });
//             message.success('保存成功');
//             this.props.close(true)
//           }
//         }).catch(e => {
//           this.setState({ loading: false });
//           message.error(`保存失败，${e.response.data.message}`);
//         })
//       }
//     })
//   };
//
//   //取消
//   handleCancel = () => {
//     this.props.close();
//   };
//
//   render() {
//     const { getFieldDecorator } = this.props.form;
//     const { loading, setOfBooksOptions, contractCategory, data, formTypeOptions, fetching, radioValue, showSelectEmployeeGroup, chosenEmployeeIDs, isEnabled } = this.state;
//     const formItemLayout = {
//       labelCol: { span: 6 },
//       wrapperCol: { span: 14, offset: 1 }
//     };
//     const form_label = (
//       <span>
//         关联表单类型
//         <Tooltip title="关联表单设计器中的单据类型，用来使用工作流" overlayStyle={{width:220}}>
//           <Icon type="info-circle-o" style={{margin:'0 3px'}}/>
//         </Tooltip>
//       </span>
//     );
//     return (
//       <div className="new-contract-type">
//         <Form onSubmit={ data.id ? this.handleUpdate :this.handleSave }>
//           <FormItem {...formItemLayout} label="账套">
//             {getFieldDecorator('setOfBooksId', {
//               rules: [{
//                 required: true,
//                 message: '请选择'
//               }],
//               initialValue: data.setOfBooksId || this.props.params.setOfBooksId
//             })(
//               <Select disabled={!!data.id}>
//                 {setOfBooksOptions.map((option)=>{
//                   return <Option key={this.props.main.tenantMode ? option.id : option.setOfBooksId}>{option.setOfBooksName} - {option.setOfBooksCode}</Option>
//                 })}
//               </Select>
//             )}
//           </FormItem>
//           <FormItem {...formItemLayout} label="合同大类">
//             {getFieldDecorator('contractCategory', {
//               rules: [{
//                 required: true,
//                 message: '请选择'
//               }],
//               initialValue: data.contractCategory
//             })(
//               <Select placeholder="请选择" disabled={!!data.id}>
//                 {contractCategory.map((option)=>{
//                   return <Option key={option.value}>{option.messageKey}</Option>
//                 })}
//               </Select>
//             )}
//           </FormItem>
//           <FormItem {...formItemLayout} label="合同类型代码">
//             {getFieldDecorator('contractTypeCode', {
//               rules: [{
//                 required: true,
//                 message: '请输入'
//               }],
//               initialValue: data.contractTypeCode
//             })(
//               <Input placeholder="请输入" disabled={!!data.id}/>
//             )}
//           </FormItem>
//           <FormItem {...formItemLayout} label="合同类型名称">
//             {getFieldDecorator('contractTypeName', {
//               rules: [{
//                 required: true,
//                 message: '请输入'
//               }],
//               initialValue: data.contractTypeName
//             })(
//               <Input placeholder="请输入" />
//             )}
//           </FormItem>
//           <FormItem {...formItemLayout} label={form_label}>
//             {getFieldDecorator('formOid', {
//               initialValue: data.formOid
//             })(
//               <Select placeholder="请选择" notFoundContent={fetching ? <Spin size="small" /> : '无匹配结果'}>
//                 {formTypeOptions.map(option => {
//                   return <Option key={option.formOID}>{option.formName}</Option>
//                 })}
//               </Select>
//             )}
//           </FormItem>
//           <FormItem {...formItemLayout} label="适用人员">
//             {getFieldDecorator('permission', {
//               initialValue: undefined
//             })(
//               <div>
//                 <RadioGroup onChange={this.onRadioChange} value={radioValue} style={{marginBottom:10}}>
//                   <Radio value="all">全部人员</Radio>
//                   <Radio value="byDepartment">按部门添加</Radio>
//                   <Radio value="byGroup">按人员组添加</Radio>
//                 </RadioGroup>
//                 {radioValue === 'byGroup' && (
//                   <div>
//                     <Select placeholder="请选择"
//                             onFocus={this.handleShowModal}
//                             dropdownStyle={{ display: 'none' }} />
//                     <div className={`chooser-number ${chosenEmployeeIDs.length && 'have-num'}`} onClick={this.handleShowModal}>
//                       已选择 {chosenEmployeeIDs.length} 个人员组
//                     </div>
//                     <input ref="chooserBlur" style={{ position: 'absolute', top: '-9999vh', zIndex: -1 }}/>
//                   </div>
//                 )}
//               </div>
//             )}
//           </FormItem>
//           <FormItem {...formItemLayout} label="状态">
//             {getFieldDecorator('isEnabled', {
//               valuePropName: 'checked',
//               initialValue: this.props.params.id ? data.isEnabled : isEnabled
//             })(
//               <Switch checkedChildren={<Icon type="check"/>}
//                       unCheckedChildren={<Icon type="cross" />}
//                       onChange={this.switchChange}/>
//             )}
//           </FormItem>
//           <div className="slide-footer">
//             <Button type="primary" htmlType="submit" loading={loading}>保存</Button>
//             <Button onClick={this.handleCancel}>取消</Button>
//           </div>
//         </Form>
//         <SelectEmployeeGroup visible={showSelectEmployeeGroup}
//                              onCancel={this.handleSelectEmployeeCancel}
//                              onOk={this.handleSelectEmployeeOk}
//                              selectedData={chosenEmployeeIDs} />
//       </div>
//     )
//   }
// }
//
// NewContractType.contextTypes = {
//   router: React.PropTypes.object
// };
//
// function mapStateToProps(state) {
//   return {
//     main: state.main
//   }
// }
//
// const wrappedNewContractType = Form.create()(NewContractType);
//
// export default connect(mapStateToProps)(wrappedNewContractType);
